1. Field of the Invention
The present invention relates to data processing apparatus. More particularly, the invention relates to a data processing apparatus and method for storing instruction set information.
2. Description of the Prior Art
Data processing apparatus may be provided with processing circuits that are able to execute processing instructions from a number of different instruction sets. There are a number of situations where it is desirable to keep track of the processing being performed by the processing circuit, and in such situations it may be desirable to be able to identify at any point in time which instruction set is being used. For example, such information is useful during the development of data processing systems, where it is often desirable to track the activity of the processing circuit. An example of a tool that may be used to assist in such a process is a tracing tool.
Tracing the activity of a data processing system whereby a trace stream is generated including data representing the step-by-step activity within the system is a highly useful tool in system development. However, with the general move towards more deeply embedded processor cores, it becomes more difficult to track the state of the processor core via externally accessible pins. Accordingly, as well as off-chip tracing mechanisms for capturing and analysing trace data, increased amounts of tracing functionality are being placed on-chip. Examples of such on-chip tracing mechanisms are the Embedded Trace Macrocell provided by ARM Limited, Cambridge, England in association with their ARM7 and ARM9 processors.
Such tracing mechanisms produce in real time a trace stream of data representing activities of the data processing system that are desired to be traced. This trace stream can then subsequently be used to facilitate debugging of sequences of processing instructions being executed by the data processing system.
It is known to provide tracing and debugging mechanisms incorporating trigger points that serve to control the tracing and debugging operation, such as starting or stopping tracing upon access to a particular register, address or data value. Such mechanisms are very useful for diagnosing specific parts of a system or types of behaviour. As an example, if a particular system bug is associated with exception behaviour, then tracing the full operation of the system would produce an inconveniently large volume of data when what is really required is tracing of the exception behaviour with this being triggered upon access to the appropriate exception handling vector.
As data processing systems increase in complexity whilst it is desired to also reduce development time for new systems, there is a need to improve the debug and tracing tools and mechanisms that may be used within the development of data processing systems.
In situations where the processing circuit may be able to execute processing instructions from any of a number of different instruction sets, then it would be desirable for tracing mechanisms to also keep track of that instruction set information. However, it is also desirable wherever possible to reduce the amount of data that needs to be traced.
Accordingly, it is an object of the present invention to provide an efficient technique for storing such instruction set information.